[INFO] cloning repository https://github.com/mwaddip/ergo-relay
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mwaddip/ergo-relay" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmwaddip%2Fergo-relay", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmwaddip%2Fergo-relay'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] af9f5555b5268d9ed7499edf14fdece622df43b6
[INFO] checking mwaddip/ergo-relay against master#c290daa1e5274a52e54a0f49e31bd70192abc606 for pr-133502-23
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmwaddip%2Fergo-relay" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mwaddip/ergo-relay
[INFO] finished tweaking git repo https://github.com/mwaddip/ergo-relay
[INFO] tweaked toml for git repo https://github.com/mwaddip/ergo-relay written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mwaddip/ergo-relay on toolchain c290daa1e5274a52e54a0f49e31bd70192abc606
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mwaddip/ergo-relay already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/ergoplatform/sigma-rust.git`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bounded-vec v0.9.0
[INFO] [stderr]   Downloaded supports-hyperlinks v3.2.0
[INFO] [stderr]   Downloaded bnum v0.12.1
[INFO] [stderr]   Downloaded bounded-integer v0.6.1
[INFO] [stderr]   Downloaded ergo_avltree_rust v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cd2656843bd3339acd1354fbf450b438540e4fdff8eee221949b28c9a48f0c39
[INFO] running `Command { std: "docker" "start" "cd2656843bd3339acd1354fbf450b438540e4fdff8eee221949b28c9a48f0c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cd2656843bd3339acd1354fbf450b438540e4fdff8eee221949b28c9a48f0c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cd2656843bd3339acd1354fbf450b438540e4fdff8eee221949b28c9a48f0c39" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cd2656843bd3339acd1354fbf450b438540e4fdff8eee221949b28c9a48f0c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cd2656843bd3339acd1354fbf450b438540e4fdff8eee221949b28c9a48f0c39" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling serde_with_macros v3.18.0
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking rustc-demangle v0.1.27
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking base16 v0.2.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking bounded-integer v0.6.1
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking bounded-vec v0.9.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking is_ci v1.2.0
[INFO] [stderr]     Checking supports-color v3.0.2
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]     Checking serde_with v3.18.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]     Checking supports-hyperlinks v3.2.0
[INFO] [stderr]     Checking supports-unicode v3.0.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking sigma-util v0.18.0 (https://github.com/ergoplatform/sigma-rust.git#7f927613)
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking bnum v0.12.1
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.3
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking sigma-ser v0.19.0 (https://github.com/ergoplatform/sigma-rust.git#7f927613)
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking ascii v1.1.0
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]     Checking chunked_transfer v1.5.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking tiny_http v0.12.0
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking ergo-chain-types v0.15.0 (https://github.com/ergoplatform/sigma-rust.git#7f927613)
[INFO] [stderr]     Checking gf2_192 v0.28.0 (https://github.com/ergoplatform/sigma-rust.git#7f927613)
[INFO] [stderr]     Checking backtrace-ext v0.2.1
[INFO] [stderr]     Checking miette v7.6.0
[INFO] [stderr]     Checking ergo-merkle-tree v0.15.0 (https://github.com/ergoplatform/sigma-rust.git#7f927613)
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ergotree-ir v0.28.0 (https://github.com/ergoplatform/sigma-rust.git#7f927613)
[INFO] [stderr]     Checking ergo_avltree_rust v0.1.1
[INFO] [stderr]     Checking ergotree-interpreter v0.28.0 (https://github.com/ergoplatform/sigma-rust.git#7f927613)
[INFO] [stderr]     Checking ergo-nipopow v0.15.0 (https://github.com/ergoplatform/sigma-rust.git#7f927613)
[INFO] [stderr]     Checking ergo-lib v0.28.0 (https://github.com/ergoplatform/sigma-rust.git#7f927613)
[INFO] [stderr]     Checking ergo-relay v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ToSocketAddrs`
[INFO] [stdout]  --> src/p2p.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::{TcpStream, SocketAddr, ToSocketAddrs};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToSocketAddrs`
[INFO] [stdout]  --> src/p2p.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::{TcpStream, SocketAddr, ToSocketAddrs};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToSocketAddrs`
[INFO] [stdout]  --> src/p2p.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::{TcpStream, SocketAddr, ToSocketAddrs};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToSocketAddrs`
[INFO] [stdout]  --> src/p2p.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::net::{TcpStream, SocketAddr, ToSocketAddrs};
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `public_address` is never read
[INFO] [stdout]    --> src/p2p.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct PeerInfo {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub public_address: Option<SocketAddr>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PeerInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_INV` is never used
[INFO] [stdout]    --> src/p2p.rs:462:7
[INFO] [stdout]     |
[INFO] [stdout] 462 | const MSG_INV: u8 = 55;
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_MODIFIER_REQUEST` is never used
[INFO] [stdout]    --> src/p2p.rs:463:7
[INFO] [stdout]     |
[INFO] [stdout] 463 | const MSG_MODIFIER_REQUEST: u8 = 22;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_MODIFIER_RESPONSE` is never used
[INFO] [stdout]    --> src/p2p.rs:464:7
[INFO] [stdout]     |
[INFO] [stdout] 464 | const MSG_MODIFIER_RESPONSE: u8 = 33;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_TYPE_ID` is never used
[INFO] [stdout]    --> src/p2p.rs:465:7
[INFO] [stdout]     |
[INFO] [stdout] 465 | const TX_TYPE_ID: u8 = 2;
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `broadcast_tx` is never used
[INFO] [stdout]    --> src/p2p.rs:476:8
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub fn broadcast_tx(addr: SocketAddr, network: Network, tx_id: &[u8; 32], tx_bytes: &[u8]) -> std::io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `broadcast_tx_to_peers` is never used
[INFO] [stdout]    --> src/p2p.rs:564:8
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub fn broadcast_tx_to_peers(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `broadcast_to_list` is never used
[INFO] [stdout]    --> src/p2p.rs:610:4
[INFO] [stdout]     |
[INFO] [stdout] 610 | fn broadcast_to_list(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_encode` is never used
[INFO] [stdout]    --> src/p2p.rs:631:4
[INFO] [stdout]     |
[INFO] [stdout] 631 | fn hex_encode(bytes: &[u8]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `public_address` is never read
[INFO] [stdout]    --> src/p2p.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct PeerInfo {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub public_address: Option<SocketAddr>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PeerInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_INV` is never used
[INFO] [stdout]    --> src/p2p.rs:462:7
[INFO] [stdout]     |
[INFO] [stdout] 462 | const MSG_INV: u8 = 55;
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_MODIFIER_REQUEST` is never used
[INFO] [stdout]    --> src/p2p.rs:463:7
[INFO] [stdout]     |
[INFO] [stdout] 463 | const MSG_MODIFIER_REQUEST: u8 = 22;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_MODIFIER_RESPONSE` is never used
[INFO] [stdout]    --> src/p2p.rs:464:7
[INFO] [stdout]     |
[INFO] [stdout] 464 | const MSG_MODIFIER_RESPONSE: u8 = 33;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_TYPE_ID` is never used
[INFO] [stdout]    --> src/p2p.rs:465:7
[INFO] [stdout]     |
[INFO] [stdout] 465 | const TX_TYPE_ID: u8 = 2;
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `broadcast_tx` is never used
[INFO] [stdout]    --> src/p2p.rs:476:8
[INFO] [stdout]     |
[INFO] [stdout] 476 | pub fn broadcast_tx(addr: SocketAddr, network: Network, tx_id: &[u8; 32], tx_bytes: &[u8]) -> std::io::Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `broadcast_tx_to_peers` is never used
[INFO] [stdout]    --> src/p2p.rs:564:8
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub fn broadcast_tx_to_peers(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `broadcast_to_list` is never used
[INFO] [stdout]    --> src/p2p.rs:610:4
[INFO] [stdout]     |
[INFO] [stdout] 610 | fn broadcast_to_list(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_encode` is never used
[INFO] [stdout]    --> src/p2p.rs:631:4
[INFO] [stdout]     |
[INFO] [stdout] 631 | fn hex_encode(bytes: &[u8]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_GET_PEERS` is never used
[INFO] [stdout]   --> src/p2p.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const MSG_GET_PEERS: u8 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_PEERS` is never used
[INFO] [stdout]   --> src/p2p.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const MSG_PEERS: u8 = 2;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `READ_TIMEOUT` is never used
[INFO] [stdout]   --> src/p2p.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const READ_TIMEOUT: Duration = Duration::from_secs(10);
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_vlq` is never used
[INFO] [stdout]   --> src/p2p.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn read_vlq(cursor: &mut Cursor<&[u8]>) -> std::io::Result<u64> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_vlq_length` is never used
[INFO] [stdout]   --> src/p2p.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn read_vlq_length(cursor: &mut Cursor<&[u8]>) -> std::io::Result<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_utf8_byte_len` is never used
[INFO] [stdout]   --> src/p2p.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn read_utf8_byte_len(cursor: &mut Cursor<&[u8]>) -> std::io::Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_handshake` is never used
[INFO] [stdout]    --> src/p2p.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn parse_handshake(data: &[u8]) -> std::io::Result<PeerInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PeerInfo` is never constructed
[INFO] [stdout]    --> src/p2p.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct PeerInfo {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_peers` is never used
[INFO] [stdout]    --> src/p2p.rs:329:8
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub fn discover_peers(addr: SocketAddr, network: Network) -> std::io::Result<Vec<SocketAddr>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_handshake_peer_entry` is never used
[INFO] [stdout]    --> src/p2p.rs:411:4
[INFO] [stdout]     |
[INFO] [stdout] 411 | fn parse_handshake_peer_entry(cursor: &mut Cursor<&[u8]>) -> std::io::Result<Option<SocketAddr>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Read`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::io::Read;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_GET_PEERS` is never used
[INFO] [stdout]   --> src/p2p.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const MSG_GET_PEERS: u8 = 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MSG_PEERS` is never used
[INFO] [stdout]   --> src/p2p.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const MSG_PEERS: u8 = 2;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `READ_TIMEOUT` is never used
[INFO] [stdout]   --> src/p2p.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const READ_TIMEOUT: Duration = Duration::from_secs(10);
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_vlq` is never used
[INFO] [stdout]   --> src/p2p.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn read_vlq(cursor: &mut Cursor<&[u8]>) -> std::io::Result<u64> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_vlq_length` is never used
[INFO] [stdout]   --> src/p2p.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn read_vlq_length(cursor: &mut Cursor<&[u8]>) -> std::io::Result<usize> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_utf8_byte_len` is never used
[INFO] [stdout]   --> src/p2p.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn read_utf8_byte_len(cursor: &mut Cursor<&[u8]>) -> std::io::Result<String> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_handshake` is never used
[INFO] [stdout]    --> src/p2p.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn parse_handshake(data: &[u8]) -> std::io::Result<PeerInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PeerInfo` is never constructed
[INFO] [stdout]    --> src/p2p.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct PeerInfo {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_peers` is never used
[INFO] [stdout]    --> src/p2p.rs:329:8
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub fn discover_peers(addr: SocketAddr, network: Network) -> std::io::Result<Vec<SocketAddr>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_handshake_peer_entry` is never used
[INFO] [stdout]    --> src/p2p.rs:411:4
[INFO] [stdout]     |
[INFO] [stdout] 411 | fn parse_handshake_peer_entry(cursor: &mut Cursor<&[u8]>) -> std::io::Result<Option<SocketAddr>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 34.27s
[INFO] running `Command { std: "docker" "inspect" "cd2656843bd3339acd1354fbf450b438540e4fdff8eee221949b28c9a48f0c39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cd2656843bd3339acd1354fbf450b438540e4fdff8eee221949b28c9a48f0c39", kill_on_drop: false }`
[INFO] [stdout] cd2656843bd3339acd1354fbf450b438540e4fdff8eee221949b28c9a48f0c39
